/**
 * 会员管理界面类
 * 业务层级：表示层
 * 功能说明：提供会员管理的用户界面，包括会员信息、积分管理、充值统计等功能模块
 * 架构关系：遵循四层架构设计，作为会员管理的主界面，协调各个会员相关的子界面
 */
#ifndef mm_H
#define mm_H

#include <QWidget>
#include <QStackedWidget>
#include <QPushButton>
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QLabel>

// 前置声明
class Database;
class MemberInfoPage;
class AddMemberPage;
class ConsumptionDetailPage;
class MemberRechargePage;

class mm : public QWidget
{
    Q_OBJECT

public:
    explicit mm(QWidget *parent = nullptr);
    ~mm();

private:
    void initUI();
    void createTopMenu();

    // 顶部菜单
    QWidget *m_topMenu;

    // 基本信息功能区按钮
    QPushButton *m_memberInfoBtn;
    QPushButton *m_addMemberBtn;

    // 统计功能区按钮
    QPushButton *m_pointsHistoryBtn;
    QPushButton *m_consumptionDetailBtn;
    QPushButton *m_incomeExpenseBtn;

    // 充值功能区按钮
    QPushButton *m_memberRechargeBtn;
    QPushButton *m_rechargeStatsBtn;

    // 配置功能区按钮
    QPushButton *m_memberConfigBtn;
    QPushButton *m_productPointsBtn;
    QPushButton *m_discountConfigBtn;

    // 其他功能区按钮
    QPushButton *m_birthdayReminderBtn;

    // 堆叠窗口
    QStackedWidget *m_stackedWidget;

    // 数据库连接
    Database *m_db;

    // 会员信息页面
    MemberInfoPage *m_memberInfoPage;
    
    // 增加会员页面
    AddMemberPage *m_addMemberPage;
    
    // 消费明细页面
    ConsumptionDetailPage *m_consumptionDetailPage;
    
    // 会员充值页面
    MemberRechargePage *m_memberRechargePage;
};

#endif // mm_H
